public class Tools {
    /**
     * 高位在前，大端模式
     * 把byte[]数组的前四位转换为int
     * @param b
     * @return
     */
    public static int byteArrayToInt(byte[] b) {
        return b[3] & 0xFF |
                (b[2] & 0xFF) << 8 |
                (b[1] & 0xFF) << 16 |
                (b[0] & 0xFF) << 24 ; // 从低位到高位，左移对应的位数

    }

    /**
     * 高位在前，大端模式
     * 把int转换为byte[]数组的前四位
     * @param a
     * @return
     */
    public static byte[] intToByteArray(int a) {
//         00000010 00000110 00001110 00011110
//         00000010 -> (byte)0x00000010
//         00000110
//         00001110
//         00011110
        return new byte[] {
                (byte) ((a >> 24) & 0xFF), // 最高的8位，32-24
                (byte) ((a >> 16) & 0xFF), // 中间的8位，24-16
                (byte) ((a >> 8) & 0xFF), //  中间的8位，16-8
                (byte) (a & 0xFF) // 最低的8位，8-1
        };
    }
}
